package com.xinwangai.jingbai.mapper;

import com.xinwangai.jingbai.pojo.BO.UserBO;
import com.xinwangai.jingbai.pojo.DTO.UserDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 用户数据访问层
 *
 * @author guo.wenliang
 * @since 2025/1/15
 */
@Mapper
public interface UserMapper {
    
    /**
     * 新增用户
     */
    int addUser(UserDTO userDTO);
    
    /**
     * 更新用户信息
     */
    int updateUser(UserDTO userDTO);
    
    /**
     * 删除用户
     */
    int deleteUser(@Param("id") Long id);
    
    /**
     * 根据ID获取用户详情
     */
    UserBO getUserById(@Param("id") Long id);
    
    /**
     * 根据用户名获取用户
     */
    UserBO getUserByUsername(@Param("username") String username);
    
    /**
     * 根据邮箱获取用户
     */
    UserBO getUserByEmail(@Param("email") String email);
}
